using System;
using System.Collections.Generic;
using ns26;
using ns27;
using Triton.Game.Mono;

namespace Triton.Game.Mapping
{
	[Attribute38("ResizeManager")]
	public class ResizeManager : MonoClass
	{
		public static int REDUCE_MAX_WINDOW_SIZE_X => MonoClass.smethod_6<int>(TritonHs.MainAssemblyPath, "", "ResizeManager", "REDUCE_MAX_WINDOW_SIZE_X");

		public static int REDUCE_MAX_WINDOW_SIZE_Y => MonoClass.smethod_6<int>(TritonHs.MainAssemblyPath, "", "ResizeManager", "REDUCE_MAX_WINDOW_SIZE_Y");

		public static int MIN_WINDOW_WIDTH => MonoClass.smethod_6<int>(TritonHs.MainAssemblyPath, "", "ResizeManager", "MIN_WINDOW_WIDTH");

		public static int MIN_WINDOW_HEIGHT => MonoClass.smethod_6<int>(TritonHs.MainAssemblyPath, "", "ResizeManager", "MIN_WINDOW_HEIGHT");

		public static float RESIZE_COOLDOWN => MonoClass.smethod_6<float>(TritonHs.MainAssemblyPath, "", "ResizeManager", "RESIZE_COOLDOWN");

		public MonoBehaviour m_graphicsManager => method_3<MonoBehaviour>("m_graphicsManager");

		public bool m_lastFullScreen => method_2<bool>("m_lastFullScreen");

		public int m_lastWindowedWidth => method_2<int>("m_lastWindowedWidth");

		public int m_lastWindowedHeight => method_2<int>("m_lastWindowedHeight");

		public bool m_isResizing => method_2<bool>("m_isResizing");

		public float m_lastChangedResolutionTime => method_2<float>("m_lastChangedResolutionTime");

		public int m_lastWidth => method_2<int>("m_lastWidth");

		public int m_lastHeight => method_2<int>("m_lastHeight");

		public ResizeManager(IntPtr address, string className)
			: base(address, className)
		{
		}

		public ResizeManager(IntPtr address)
			: this(address, "ResizeManager")
		{
		}

		public void Update()
		{
			method_8("Update");
		}

		public void SetScreenResolution(int width, int height, bool fullscreen)
		{
			method_8("SetScreenResolution", width, height, fullscreen);
		}

		public bool AspectRatioWithinLimit(int x, int y)
		{
			return method_11<bool>("AspectRatioWithinLimit", new object[2] { x, y });
		}

		public List<int> CalcAspectRatioLimit(int x, int y)
		{
			return method_14<Class250<int>>("CalcAspectRatioLimit", new object[2] { x, y })?.method_25();
		}
	}
}
